/**
 * Copyright 2009 Jesse Brown (jbrown@fluentv.com)
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */
package com.fluentv.games.netblocks.piece;

/**
 * A Square shape of a defined width/height
 *
 * @author Jesse Brown (jbrown@fluentv.com)
 */
public class SquareShape extends Shape {
 
  private static final long serialVersionUID = 1L;

  /**
   * Create a Square with i width/height and the designated color.
   * @param blocks width and height in blocks
   * @param color
   */
  public SquareShape(int blocks, int color) {
    super(color, new boolean[blocks][blocks]);
    
    // Fill our mask.
    for (int w = 0; w < blocks; w++) {
      for (int h = 0; h < blocks; h++) {
        super.shapeMask[w][h] = true;
      }
    }
  }

  /**
   * Squares never rotate, so always return ourselves.
   */
  @Override
  public Shape rotate() {
    return this;
  }   
}
